Towards Roundtrip Engineering - A Template-Based Reverse Engineering Approach
نویسندگان
چکیده
Model driven development suggests to make models the main artifact in software development. To get executable models in most cases code generation to a “traditional” programming language like e.g. Java is used. To obtain customizable code generation template-based approaches are applied, commonly. So, to adapt the generated code to platform specific needs templates are modified by the user. After code generation, in real world application the generated code is often changed e.g. by refactorings. To keep the code and the model synchronous reverse engineering is needed. Many approaches use a Java parser and a mapping from the Java parse tree to the UML model for this task. This causes maintenance issues since every change to a template potentially results in a change to this parse tree model mapping. To tackle this maintenance problem our solution does not use a common language parser but uses the templates as a grammar to parse the generated code, instead. This way changes to the templates are automatically taken into account in the reverse engineering step. Our approach has been implemented and tested in the Fujaba CASE tool as a part of the model and template-based code generator CodeGen2 [11].
منابع مشابه
Forward and Reverse Engineering of Code with Rational Rose and VisualAgefor
Having the ability to forward engineer, reverse engineer, or roundtrip engineer between design tools and Integrated Development Environments (IDE) offers software engineering teams powerful options in the evolution of component-based development efforts. Rational and IBM have created an effective integration between their design and implementation tools through a connector called the RoseLink P...
متن کاملPattern-Driven Reverse Engineering
A fundamental weakness of conventional reverse engineering approaches is the lack of support in identifying program structures and recurring patterns. The integration of human domain knowledge represented via patterns can significantly improve design recovery results. The recognition of a program’s design leads to recurring patterns that, at present, have to be identified in demanding tasks by ...
متن کاملProceedings Template - WORD
This paper proposes an approach for performance analysis roundtrip in the context of model-driven engineering (MDE) of real-time distributed and embedded systems. The starting point is a UML software model with MARTE performance annotations, such as performance requirements and resource demands. The source software model is automatically transformed into a Layered Queueing Network (LQN) perform...
متن کاملTowards the Combination of Clustering-based and Pattern-based Reverse Engineering Approaches
Reverse Engineering, i.e. the analysis of software for the purpose of recovering its design documentation, e.g. in form of the conceptual architecture, is an important area of software engineering. Today, two prevalent reverse engineering approaches have emerged: (1) the clustering-based approach which tries to analyze a given software system by grouping its elements based on metric values to p...
متن کاملAn Ontological Approach for Identifying Variants: The Cases of Specialization and Template Instantiation
Software is a crucial component in many products and often is a product in itself. Software artifacts are often developed for particular needs. However, identifying software variants is important for increasing reuse, reducing time and costs of development and maintenance, increasing quality and reliability, and improving productivity. We propose a method for utilizing variability mechanisms fr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008